// The contents of this file are subject to the Mozilla Public License Version
// 1.1
//(the "License"); you may not use this file except in compliance with the
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
//
//Software distributed under the License is distributed on an "AS IS" basis,
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
//for the specific language governing rights and
//limitations under the License.
//
//The Original Code is "The Columba Project"
//
//The Initial Developers of the Original Code are Frederik Dietz and Timo
// Stich.
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
//
//All Rights Reserved.
package org.columba.mail.spam.rules;

import org.columba.mail.folder.IMailbox;
import org.columba.ristretto.message.Header;

/**
 * Check if subject contains capital letters only
 * 
 * @author fdietz
 *  
 */
public class SubjectIsAllCapitalsRule extends AbstractRule {

    public SubjectIsAllCapitalsRule() {
        super("SubjectIsAllCapitalsRule");
    }

    /**
     * @see org.columba.mail.spam.rules.Rule#score(IMailbox,
     *      java.lang.Object)
     */
    public float score(IMailbox folder, Object uid) throws Exception {
        Header header = folder.getHeaderFields(uid, new String[] { "Subject"});
        String subject = header.get("Subject");
        if (subject == null) return NEARLY_ZERO;
        if (subject.length() == 0) return NEARLY_ZERO;

        if (subject.equals(subject.toUpperCase())) return MAX_PROBABILITY;

        return NEARLY_ZERO;
    }

}